﻿using System.ComponentModel.DataAnnotations;

namespace MyMES.Read.API.Dtos
{
    public class CDLBDTO
    {
        public int PurchaseOrderId { get; set; }
        /// <summary>
        /// 获取或设置订单主题，必填项，用于标识采购订单的主要内容
        /// </summary>
        [Required(ErrorMessage = "订单主题不能为空")]
        public string OrderSubject { get; set; }

        /// <summary>
        /// 获取或设置采购单号，必填项，唯一标识该采购订单
        /// </summary>
        [Required(ErrorMessage = "采购单号不能为空")]
        public string PurchaseOrderNumber { get; set; }


        /// <summary>
        /// 获取或设置关联的请购单号，用于关联采购申请单
        /// </summary>
        public string RelatedPurchaseRequisition { get; set; }



        /// <summary>
        /// 获取或设置关联的销售订单号，用于关联销售业务
        /// </summary>
        public string RelatedSalesOrder { get; set; }



        /// <summary>
        /// 获取或设置采购日期，必填项，记录采购操作发生的日期
        /// </summary>
        [Required(ErrorMessage = "采购日期不能为空")]
        public DateTime PurchaseDate { get; set; }

        /// <summary>
        /// 获取或设置供应商名称，选择本次采购的供应商
        /// </summary>
        public string SupplierName { get; set; }

        /// <summary>
        /// 获取或设置联系人，供应商或相关人员的联系人
        /// </summary>
        public string ContactPerson { get; set; }

        /// <summary>
        /// 获取或设置联系电话，供应商或相关人员的联系电话
        /// </summary>
        public string ContactPhone { get; set; }

        /// <summary>
        /// 获取或设置采购人员，选择负责执行该采购任务的人员
        /// </summary>
        public string Purchaser { get; set; }

        /// <summary>
        /// 获取或设置采购部门，选择该采购所属的部门
        /// </summary>
        public string PurchaseDepartment { get; set; }

        /// <summary>
        /// 获取或设置联系方式，采购相关方的联系方式
        /// </summary>
        public string ContactWay { get; set; }

        /// <summary>
        /// 获取或设置关联项目，选择该采购关联的具体项目
        /// </summary>
        public string RelatedProject { get; set; }

        /// <summary>
        /// 获取或设置结算方式，选择本次采购的货款结算方式
        /// </summary>
        public string SettlementMethod { get; set; }

        /// <summary>
        /// 获取或设置交付地址，填写货物交付的具体地址
        /// </summary>
        public string DeliveryAddress { get; set; }

        /// <summary>
        /// 获取或设置备注，用于填写该采购订单的额外说明信息
        /// </summary>
        public string Remarks { get; set; }
        /// <summary>
        /// 删除按钮
        /// </summary>
        public bool IsDelete { get; set; }
        /// <summary>
        /// 外键
        /// </summary>
        public List<int> WJId { get; set; }
        public int SerialNumber { get; set; }

        /// <summary>物品编号</summary>
        public string ItemNumber { get; set; }

        /// <summary>物品名称</summary>
        public string ItemName { get; set; }

        /// <summary>规格型号</summary>
        public string SpecificationModel { get; set; }

        /// <summary>单位</summary>
        public string Unit { get; set; }

        /// <summary>品牌</summary>
        public string Brand { get; set; }

        /// <summary>采购数量</summary>
        public decimal PurchaseQuantity { get; set; }

        /// <summary>主单位数量</summary>
        public decimal MainUnitQuantity { get; set; }

        /// <summary>税率</summary>
        public decimal TaxRate { get; set; }

        /// <summary>含税单价</summary>
        public decimal InclusiveTaxUnitPrice { get; set; }

        /// <summary>价税合计</summary>
        public decimal TotalPriceTax { get; set; }

        /// <summary>未税单价</summary>
        public decimal ExclusiveTaxUnitPrice { get; set; }

        /// <summary>未税金额</summary>
        public decimal ExclusiveTaxAmount { get; set; }

        /// <summary>交付日期</summary>
        public DateTime DeliveryDate { get; set; }

        /// <summary>备注</summary>
    }
}
